summaryrefslogtreecommitdiffstats
path: root/src/input_common/helpers/joycon_protocol/common_protocol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/input_common/helpers/joycon_protocol/common_protocol.cpp')
-rw-r--r--src/input_common/helpers/joycon_protocol/common_protocol.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/input_common/helpers/joycon_protocol/common_protocol.cpp b/src/input_common/helpers/joycon_protocol/common_protocol.cpp
index a4d08fdaf..a329db107 100644
--- a/src/input_common/helpers/joycon_protocol/common_protocol.cpp
+++ b/src/input_common/helpers/joycon_protocol/common_protocol.cpp
@@ -120,6 +120,19 @@ DriverResult JoyconCommonProtocol::SendSubCommand(SubCommand sc, std::span<const
return DriverResult::Success;
}
+DriverResult JoyconCommonProtocol::SendMcuCommand(SubCommand sc, std::span<const u8> buffer) {
+ std::vector<u8> local_buffer(MaxResponseSize);
+
+ local_buffer[0] = static_cast<u8>(OutputReport::MCU_DATA);
+ local_buffer[1] = GetCounter();
+ local_buffer[10] = static_cast<u8>(sc);
+ for (std::size_t i = 0; i < buffer.size(); ++i) {
+ local_buffer[11 + i] = buffer[i];
+ }
+
+ return SendData(local_buffer);
+}
+
DriverResult JoyconCommonProtocol::SendVibrationReport(std::span<const u8> buffer) {
std::vector<u8> local_buffer(MaxResponseSize);